home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1994 August: Tool Chest / Dev.CD Aug 94.toast / New System Software Extensions / OpenDoc A6 / SOM / OpenDoc and SOM / C / PstObj.h < prev    next >
Encoding:
C/C++ Source or Header  |  1994-04-19  |  9.3 KB  |  276 lines  |  [TEXT/MPS ]

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: Locrian:WWDCSun:C:PstObj.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: somc/smemit.c
  7.  *     SOM Emitter emith.dll: somc/smmain.c
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Theory of Operation
  13.  * 
  14.  * 
  15.  *  Classes defined in this interface
  16.  * 
  17.  */
  18.  
  19.  
  20. #ifndef SOM_ODPersistentObject_h
  21. #define SOM_ODPersistentObject_h
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef ODPersistentObject
  37. #define ODPersistentObject SOMObject
  38. #endif
  39. #include <RefCtObj.h>
  40.  
  41. /*
  42.  * Start of user-defined types:
  43.  */
  44. #ifndef ODExtension
  45.     #define ODExtension SOMObject
  46. #endif /* ODExtension */
  47. #ifndef ODStorageUnit
  48.     #define ODStorageUnit SOMObject
  49. #endif /* ODStorageUnit */
  50.  
  51. /*
  52.  * End of user-defined types.
  53.  */
  54.  
  55. #define ODPersistentObject_MajorVersion 0
  56. #define ODPersistentObject_MinorVersion 0
  57.  
  58. /*
  59.  * External name shortening if required
  60.  */
  61. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  62. #define ODPersistentObjectNewClass c
  63. #define ODPersistentObjectClassData d
  64. #define ODPersistentObjectCClassData x
  65. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  66. /*--------------Migration------------*/
  67. #define ODPersistentObject_classObj ODPersistentObjectClassData.classObject
  68. #define _ODPersistentObject ODPersistentObject_classObj
  69.  
  70. /*
  71.  * Declare the class creation procedure
  72.  */
  73.  
  74. #if applec ^ PRAGMA_LIB_EXPORT
  75. #pragma lib_export on
  76. #endif
  77.  
  78. SOMEXTERN SOMClass * SOMLINK ODPersistentObjectNewClass(integer4 somtmajorVersion,
  79.         integer4 somtminorVersion);
  80.  
  81. /*
  82.  * Declare the class data structure
  83.  */
  84. SOMEXTERN struct ODPersistentObjectClassDataStructure {
  85.     SOMAny *classObject;
  86.     somMToken InitPersistentObject;
  87.     somMToken InitPersistentObjectFromStorage;
  88.     somMToken ReleaseAll;
  89.     somMToken Externalize;
  90.     somMToken GetStorageUnit;
  91.     somMToken GetID;
  92. }
  93. #ifdef SOM_NO_DATA_EXPORTS
  94.     * ODPersistentObjectGetClassData ( void );
  95. #   undef ODPersistentObjectClassData
  96. #   define ODPersistentObjectClassData (*ODPersistentObjectGetClassData())
  97. #else
  98.       ODPersistentObjectClassData;
  99. #endif /* SOM_NO_DATA_EXPORTS */
  100.  
  101. #if applec ^ PRAGMA_LIB_EXPORT
  102. #pragma lib_export off
  103. #endif
  104.  
  105.  
  106. /*
  107.  * Declare the C specific class data structure
  108.  */
  109. SOMEXTERN struct ODPersistentObjectCClassDataStructure {
  110.     somMethodTabs parentMtab;
  111.     somDToken instanceDataToken;
  112. } ODPersistentObjectCClassData;
  113.  
  114. /*
  115.  * New and Renew macros for ODPersistentObject
  116.  */
  117. #define ODPersistentObjectNew() \
  118.     ( ( ! (ODPersistentObjectClassData.classObject) && \
  119.         (ODPersistentObjectNewClass(ODPersistentObject_MajorVersion, ODPersistentObject_MinorVersion)) ), \
  120.       (_somNew(ODPersistentObjectClassData.classObject)) )
  121. #define ODPersistentObjectRenew(buf) \
  122.     ( _somRenew(ODPersistentObjectClassData.classObject, buf) )
  123.  
  124. /*
  125.  * Override method: somInit
  126.  */
  127. #define ODPersistentObject_somInit(somSelf) \
  128.     SOMObject_somInit(somSelf)
  129.  
  130. /*
  131.  * Override method: somUninit
  132.  */
  133. #define ODPersistentObject_somUninit(somSelf) \
  134.     SOMObject_somUninit(somSelf)
  135.  
  136. /*
  137.  * New Method: InitPersistentObject
  138.  */
  139. typedef void   (SOMLINK *somTD_ODPersistentObject_InitPersistentObject)(ODPersistentObject *somSelf, Environment *ev,
  140.         ODStorageUnit* storageUnit);
  141. #define somMD_ODPersistentObject_InitPersistentObject "::ODPersistentObject::InitPersistentObject"
  142. #define ODPersistentObject_InitPersistentObject(somSelf,ev,storageUnit) \
  143.     (SOM_Resolve(somSelf, ODPersistentObject, InitPersistentObject) \
  144.     (somSelf,ev,storageUnit))
  145. #ifndef SOMGD_InitPersistentObject
  146.     #if (defined(_InitPersistentObject) || defined(__InitPersistentObject))
  147.         #undef _InitPersistentObject
  148.         #undef __InitPersistentObject
  149.         #define SOMGD_InitPersistentObject 1
  150.     #else
  151.         #define _InitPersistentObject ODPersistentObject_InitPersistentObject
  152.     #endif /* _InitPersistentObject */
  153. #endif /* SOMGD_InitPersistentObject */
  154.  
  155. /*
  156.  * New Method: InitPersistentObjectFromStorage
  157.  */
  158. typedef void   (SOMLINK *somTD_ODPersistentObject_InitPersistentObjectFromStorage)(ODPersistentObject *somSelf, Environment *ev,
  159.         ODStorageUnit* storageUnit);
  160. #define somMD_ODPersistentObject_InitPersistentObjectFromStorage "::ODPersistentObject::InitPersistentObjectFromStorage"
  161. #define ODPersistentObject_InitPersistentObjectFromStorage(somSelf,ev,storageUnit) \
  162.     (SOM_Resolve(somSelf, ODPersistentObject, InitPersistentObjectFromStorage) \
  163.     (somSelf,ev,storageUnit))
  164. #ifndef SOMGD_InitPersistentObjectFromStorage
  165.     #if (defined(_InitPersistentObjectFromStorage) || defined(__InitPersistentObjectFromStorage))
  166.         #undef _InitPersistentObjectFromStorage
  167.         #undef __InitPersistentObjectFromStorage
  168.         #define SOMGD_InitPersistentObjectFromStorage 1
  169.     #else
  170.         #define _InitPersistentObjectFromStorage ODPersistentObject_InitPersistentObjectFromStorage
  171.     #endif /* _InitPersistentObjectFromStorage */
  172. #endif /* SOMGD_InitPersistentObjectFromStorage */
  173.  
  174. /*
  175.  * New Method: ReleaseAll
  176.  */
  177. typedef void   (SOMLINK *somTD_ODPersistentObject_ReleaseAll)(ODPersistentObject *somSelf, Environment *ev);
  178. #define somMD_ODPersistentObject_ReleaseAll "::ODPersistentObject::ReleaseAll"
  179. #define ODPersistentObject_ReleaseAll(somSelf,ev) \
  180.     (SOM_Resolve(somSelf, ODPersistentObject, ReleaseAll) \
  181.     (somSelf,ev))
  182. #ifndef SOMGD_ReleaseAll
  183.     #if (defined(_ReleaseAll) || defined(__ReleaseAll))
  184.         #undef _ReleaseAll
  185.         #undef __ReleaseAll
  186.         #define SOMGD_ReleaseAll 1
  187.     #else
  188.         #define _ReleaseAll ODPersistentObject_ReleaseAll
  189.     #endif /* _ReleaseAll */
  190. #endif /* SOMGD_ReleaseAll */
  191.  
  192. /*
  193.  * New Method: Externalize
  194.  */
  195. typedef void   (SOMLINK *somTD_ODPersistentObject_Externalize)(ODPersistentObject *somSelf, Environment *ev);
  196. #define somMD_ODPersistentObject_Externalize "::ODPersistentObject::Externalize"
  197. #define ODPersistentObject_Externalize(somSelf,ev) \
  198.     (SOM_Resolve(somSelf, ODPersistentObject, Externalize) \
  199.     (somSelf,ev))
  200. #ifndef SOMGD_Externalize
  201.     #if (defined(_Externalize) || defined(__Externalize))
  202.         #undef _Externalize
  203.         #undef __Externalize
  204.         #define SOMGD_Externalize 1
  205.     #else
  206.         #define _Externalize ODPersistentObject_Externalize
  207.     #endif /* _Externalize */
  208. #endif /* SOMGD_Externalize */
  209.  
  210. /*
  211.  * New Method: GetStorageUnit
  212.  */
  213. typedef ODStorageUnit*   (SOMLINK *somTD_ODPersistentObject_GetStorageUnit)(ODPersistentObject *somSelf, Environment *ev);
  214. #define somMD_ODPersistentObject_GetStorageUnit "::ODPersistentObject::GetStorageUnit"
  215. #define ODPersistentObject_GetStorageUnit(somSelf,ev) \
  216.     (SOM_Resolve(somSelf, ODPersistentObject, GetStorageUnit) \
  217.     (somSelf,ev))
  218. #ifndef SOMGD_GetStorageUnit
  219.     #if (defined(_GetStorageUnit) || defined(__GetStorageUnit))
  220.         #undef _GetStorageUnit
  221.         #undef __GetStorageUnit
  222.         #define SOMGD_GetStorageUnit 1
  223.     #else
  224.         #define _GetStorageUnit ODPersistentObject_GetStorageUnit
  225.     #endif /* _GetStorageUnit */
  226. #endif /* SOMGD_GetStorageUnit */
  227.  
  228. /*
  229.  * New Method: GetID
  230.  */
  231. typedef ODID   (SOMLINK *somTD_ODPersistentObject_GetID)(ODPersistentObject *somSelf, Environment *ev);
  232. #define somMD_ODPersistentObject_GetID "::ODPersistentObject::GetID"
  233. #define ODPersistentObject_GetID(somSelf,ev) \
  234.     (SOM_Resolve(somSelf, ODPersistentObject, GetID) \
  235.     (somSelf,ev))
  236. #ifndef SOMGD_GetID
  237.     #if (defined(_GetID) || defined(__GetID))
  238.         #undef _GetID
  239.         #undef __GetID
  240.         #define SOMGD_GetID 1
  241.     #else
  242.         #define _GetID ODPersistentObject_GetID
  243.     #endif /* _GetID */
  244. #endif /* SOMGD_GetID */
  245. #ifndef SOM_DONT_USE_INHERITED_MACROS
  246. #define ODPersistentObject_InitRefCntObject ODRefCntObject_InitRefCntObject
  247. #define ODPersistentObject_IncrementRefCount ODRefCntObject_IncrementRefCount
  248. #define ODPersistentObject_Release ODRefCntObject_Release
  249. #define ODPersistentObject_GetRefCount ODRefCntObject_GetRefCount
  250. #define ODPersistentObject_InitObject ODObject_InitObject
  251. #define ODPersistentObject_IsInitialized ODObject_IsInitialized
  252. #define ODPersistentObject_HasExtension ODObject_HasExtension
  253. #define ODPersistentObject_GetExtension ODObject_GetExtension
  254. #define ODPersistentObject_ReleaseExtension ODObject_ReleaseExtension
  255. #define ODPersistentObject_Purge ODObject_Purge
  256. #define ODPersistentObject_SubClassResponsibility ODObject_SubClassResponsibility
  257. #define ODPersistentObject_somFree SOMObject_somFree
  258. #define ODPersistentObject_somGetClass SOMObject_somGetClass
  259. #define ODPersistentObject_somGetClassName SOMObject_somGetClassName
  260. #define ODPersistentObject_somGetSize SOMObject_somGetSize
  261. #define ODPersistentObject_somIsA SOMObject_somIsA
  262. #define ODPersistentObject_somIsInstanceOf SOMObject_somIsInstanceOf
  263. #define ODPersistentObject_somRespondsTo SOMObject_somRespondsTo
  264. #define ODPersistentObject_somDispatchV SOMObject_somDispatchV
  265. #define ODPersistentObject_somDispatchL SOMObject_somDispatchL
  266. #define ODPersistentObject_somDispatchA SOMObject_somDispatchA
  267. #define ODPersistentObject_somDispatchD SOMObject_somDispatchD
  268. #define ODPersistentObject_somDispatch SOMObject_somDispatch
  269. #define ODPersistentObject_somClassDispatch SOMObject_somClassDispatch
  270. #define ODPersistentObject_somPrintSelf SOMObject_somPrintSelf
  271. #define ODPersistentObject_somDumpSelf SOMObject_somDumpSelf
  272. #define ODPersistentObject_somDumpSelfInt SOMObject_somDumpSelfInt
  273. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  274.  
  275. #endif       /* SOM_ODPersistentObject_h */
  276.